from flask import jsonify
from ..enums import ErrorCode

def make_response(data=None, error_code=ErrorCode.SUCCESS, extra_msg=None):
    """
    统一API响应格式
    :param data: 响应数据
    :param error_code: 错误码枚举
    :param extra_msg: 附加消息
    :return: (response, status_code)
    """
    status_code = error_code.code if error_code.code >= 400 else 200
    return jsonify({
        'code': error_code.code,
        'message': f"{error_code.msg}{f': {extra_msg}' if extra_msg else ''}",
        'data': data
    }), status_code